home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / include / Xm / ToggleBGP.h.z / ToggleBGP.h
Encoding:
C/C++ Source or Header  |  2003-11-18  |  7.0 KB  |  235 lines

  1. /*
  2.  * ToggleBGP.h
  3.  *
  4.  * Copyright 2000, Silicon Graphics, Inc.
  5.  * ALL RIGHTS RESERVED
  6.  * 
  7.  * UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8.  * States.   Use of a copyright notice is precautionary only and does not
  9.  * imply publication or disclosure.
  10.  *
  11.  * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12.  * Use, duplication or disclosure by the Government is subject to restrictions
  13.  * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14.  * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15.  * in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16.  * Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17.  * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18.  *
  19.  * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20.  * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21.  * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22.  * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23.  * GRAPHICS, INC.
  24.  */
  25. /* 
  26.  * @OSF_COPYRIGHT@
  27.  * (c) Copyright 1990, 1991, 1992, 1993, 1994 OPEN SOFTWARE FOUNDATION, INC.
  28.  * ALL RIGHTS RESERVED
  29.  *  
  30. */ 
  31. /*
  32.  * HISTORY
  33.  * Motif Release 1.2.5
  34. */
  35. /*   $XConsortium: ToggleBGP.h /main/cde1_maint/2 1995/08/18 19:30:10 drk $ */
  36. /*
  37. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  38. /*
  39. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  40. /********************************************
  41.  *
  42.  *   No new fields need to be defined
  43.  *   for the Toggle widget class record
  44.  *
  45.  ********************************************/
  46.  
  47. #ifndef _XmToggleButtonGP_h
  48. #define _XmToggleButtonGP_h
  49.  
  50. #include <Xm/ToggleBG.h>
  51. #include <Xm/LabelGP.h>
  52.  
  53. #ifdef __cplusplus
  54. extern "C" {
  55. #endif
  56.  
  57. /*************************************************************/
  58. /* The  ToggleButton Gadget Cache Object's class and instance records*/
  59. /*************************************************************/
  60.  
  61.  
  62. typedef struct _XmToggleButtonGCacheObjClassPart
  63. {
  64.     int foo;
  65. } XmToggleButtonGCacheObjClassPart;
  66.  
  67.  
  68. typedef struct _XmToggleButtonGCacheObjClassRec 
  69. {
  70.     ObjectClassPart                     object_class;
  71.         XmExtClassPart                      ext_class;
  72.     XmLabelGCacheObjClassPart           label_class_cache;
  73.     XmToggleButtonGCacheObjClassPart    toggle_class_cache;
  74. } XmToggleButtonGCacheObjClassRec;
  75.  
  76. externalref XmToggleButtonGCacheObjClassRec xmToggleButtonGCacheObjClassRec;
  77.  
  78.  
  79. typedef struct _XmToggleButtonGCacheObjPart
  80.    unsigned char    ind_type;
  81.    Boolean        visible;
  82.    Dimension        spacing;
  83.    Dimension        indicator_dim;
  84.    Pixmap        on_pixmap; 
  85.    Pixmap        insen_pixmap; 
  86.    Boolean        ind_on;
  87.    Boolean        fill_on_select;
  88.    Pixel        select_color;
  89.    GC            select_GC;
  90.    GC            background_gc;
  91. } XmToggleButtonGCacheObjPart;
  92.  
  93. typedef struct _XmToggleButtonGCacheObjRec
  94. {
  95.     ObjectPart                              object;
  96.     XmExtPart                            ext;
  97.     XmLabelGCacheObjPart                 label_cache;
  98.     XmToggleButtonGCacheObjPart             toggle_cache;
  99. } XmToggleButtonGCacheObjRec;
  100.  
  101.  
  102. /****************************************************
  103.  *
  104.  * Full class record declaration for Toggle class
  105.  *
  106.  ****************************************************/
  107.  
  108. typedef struct _XmToggleButtonGadgetClassPart
  109.  {
  110.    XtPointer                   extension;
  111.  } XmToggleButtonGadgetClassPart;
  112.  
  113.  
  114. typedef struct _XmToggleButtonGadgetClassRec {
  115.     RectObjClassPart                 rect_class;
  116.     XmGadgetClassPart              gadget_class;
  117.     XmLabelGadgetClassPart             label_class;
  118.     XmToggleButtonGadgetClassPart    toggle_class;
  119. } XmToggleButtonGadgetClassRec;
  120.  
  121.  
  122. externalref XmToggleButtonGadgetClassRec xmToggleButtonGadgetClassRec;
  123.  
  124.  
  125. typedef struct _XmToggleButtonGadgetPart
  126.    Boolean        indicator_set;
  127.    Boolean        set;
  128.    Boolean          visual_set; /* used for visuals and does not reflect
  129.                                        the true state of the button */
  130.    Boolean             Armed;
  131.    XtCallbackList       value_changed_CB,
  132.             arm_CB,
  133.                 disarm_CB;
  134.  
  135.    XmToggleButtonGCacheObjPart  *cache; /* Replace cache instance fields */
  136.                     /* with a pointer */
  137. } XmToggleButtonGadgetPart;
  138.  
  139.  
  140.  
  141. /****************************************************************
  142.  *
  143.  * Full instance record declaration
  144.  *
  145.  ****************************************************************/
  146.  
  147. typedef struct _XmToggleButtonGadgetRec {
  148.     ObjectPart            object;
  149.     RectObjPart            rectangle;
  150.     XmGadgetPart        gadget;
  151.     XmLabelGadgetPart        label;
  152.     XmToggleButtonGadgetPart    toggle;
  153. } XmToggleButtonGadgetRec;
  154.  
  155.  
  156. /* MACROS */
  157. /**********/
  158.  
  159. /* Macros for cached instance fields */
  160.  
  161. #define TBG_IndType(w)        (((XmToggleButtonGadget) (w)) -> \
  162.                    toggle.cache->ind_type)
  163. #define TBG_Visible(w)        (((XmToggleButtonGadget) (w)) -> \
  164.                    toggle.cache->visible)
  165. #define TBG_Spacing(w)        (((XmToggleButtonGadget) (w)) -> \
  166.                    toggle.cache->spacing)
  167. #define TBG_IndicatorDim(w)    (((XmToggleButtonGadget) (w)) -> \
  168.                    toggle.cache->indicator_dim)
  169. #define TBG_OnPixmap(w)        (((XmToggleButtonGadget) (w)) -> \
  170.                    toggle.cache->on_pixmap)
  171. #define TBG_InsenPixmap(w)    (((XmToggleButtonGadget) (w)) -> \
  172.                    toggle.cache->insen_pixmap)
  173. #define TBG_IndOn(w)        (((XmToggleButtonGadget) (w)) -> \
  174.                    toggle.cache->ind_on)
  175. #define TBG_FillOnSelect(w)    (((XmToggleButtonGadget) (w)) -> \
  176.                    toggle.cache->fill_on_select)
  177. #define TBG_SelectColor(w)    (((XmToggleButtonGadget) (w)) -> \
  178.                    toggle.cache->select_color)
  179. #define TBG_SelectGC(w)        (((XmToggleButtonGadget) (w)) -> \
  180.                    toggle.cache->select_GC)
  181. #define TBG_BackgroundGC(w)    (((XmToggleButtonGadget) (w)) -> \
  182.                    toggle.cache->background_gc)
  183.  
  184. /***************************************/
  185. /* Macros for uncached instance fields */
  186.  
  187. #define TBG_IndicatorSet(w)    (((XmToggleButtonGadget) (w)) -> \
  188.                    toggle.indicator_set)
  189. #define TBG_Set(w)        (((XmToggleButtonGadget) (w)) -> \
  190.                            toggle.set)
  191. #define TBG_VisualSet(w)    (((XmToggleButtonGadget) (w)) -> \
  192.                    toggle.visual_set)
  193. #define TBG_ValueChangedCB(w)    (((XmToggleButtonGadget) (w)) -> \
  194.                    toggle.value_changed_CB)
  195. #define TBG_ArmCB(w)        (((XmToggleButtonGadget) (w)) -> \
  196.                    toggle.arm_CB)
  197. #define TBG_DisarmCB(w)        (((XmToggleButtonGadget) (w)) -> \
  198.                    toggle.disarm_CB)
  199. #define TBG_Armed(w)        (((XmToggleButtonGadget) (w)) -> \
  200.                    toggle.Armed)
  201.  
  202. /******************************/
  203. /* Convenience Macros         */
  204. /******************************/
  205.  
  206. #define TBG_Cache(w)                    (((XmToggleButtonGadget)(w))->\
  207.                        toggle.cache)
  208. #define TBG_ClassCachePart(w) \
  209.         (((XmToggleButtonGadgetClass)xmToggleButtonGadgetClass)->gadget_class.cache_part)
  210.  
  211.  
  212. /********    Private Function Declarations    ********/
  213. #ifdef _NO_PROTO
  214.  
  215. extern int _XmToggleBCacheCompare() ;
  216.  
  217. #else
  218.  
  219. extern int _XmToggleBCacheCompare( 
  220.                         XtPointer A,
  221.                         XtPointer B) ;
  222.  
  223. #endif /* _NO_PROTO */
  224. /********    End Private Function Declarations    ********/
  225.  
  226.  
  227. #ifdef __cplusplus
  228. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  229. #endif
  230.  
  231. #endif /* _XmToggleButtonGP_h */
  232. /* DON'T ADD ANYTHING AFTER THIS #endif */
  233.